1. Field of the Invention
The present invention relates to a communications apparatus and a method of operating the same, and to a method of connecting a plurality of computer apparatus for communication with each other.
2. Related Art
It is known to provide a conventional personal computer or computer workstation with a microphone and an audio speaker operated by the processor of the personal computer or work station to allow voice communication between users of two such PCs or workstations. The facility of voice communication through a personal computer is known as an xe2x80x9cInternet phonexe2x80x9d. Sound pressure waves produced by a person speaking at a first sending computer are converted by the microphone into an electronic audio signal which is digitized by the processor. The digitized signal is divided into shorter packet signals by the processor, which are transmitted over a communications link to the processor of a second receiving personal computer or workstation or the like, which reassembles the packet signals to reconstitute the audio signal. The audio signal is then used to drive an audio speaker of the receiving computer, producing an audible sound. Similarly, a microphone operated by the receiving computer converts a voice sound signal into an audio electrical signal, which is digitized by the processor of the receiving computer, packetized and sent over the communications link to the first computer. The processor of the sending computer reassembles the packetized signals into an audio signal which is used to drive the audio speaker associated with the first sending computer. The communications link may be a local area network, for example an Ethernet, an intranet of networks which are interconnected by a common protocol, or the global Internet evolved from the original ARPANET.
A network architecture for the transmission of data in data packets is detailed in International Patent Publication Number WO 91/05419. This provides for the combination of both audio voice and data to be distributed through the same switch using a common packet structure. It allows for the dynamic allocation of bandwidth but does not facilitate the setting up of audio voice communications in a manner which is familiar to anyone using conventional voice-based equipment.
Referring to FIG. 1 herein, there is shown schematically by way of example, a communication between a first personal computer 1 of the lap top variety having a microphone and a speaker, and a second, personal computer 2 also having a microphone and a speaker, via a communications link comprising a first modem 3, a telephone network 4, a second modem 5, the second modem 5 linked to the worldwide Internet 6 via an Internet service provider gateway 7 and the second personal computer 2 connected to the Internet 6 by a second service provider gateway 8.
A user of the first PC 1 is presented with an image of a telephone key pad on a display device 9 of the first PC. Under control of the processor of the first PC 1, the user can dial up an address of the second PC 2. The user of the second PC 2 can receive the packetized signals from the first PC, and voice communication between the first PC 1 and the second PC 2 is made, such that the user of the first PC can talk to the user of the second PC 2. Similarly, a packetized signal is sent from the second computer 2 to the first computer 1, so that a user of the second computer 2 can talk to the user of the first computer 1.
Referring to FIG. 2 herein, another example of use of Internet phones is shown, within a local area network (LAN). A plurality of computers are connected at a site by a local area network consisting of a communications link comprising an ethernet cable eg a co-axial cable or a twisted pair. A user of one PC 10, connected to the LAN, may use the Internet phone facility to communicate with the user of another PC 11, connected to the LAN. Computers connected to the local area network may access a wide area network (WAN) or an intranet of connected networks via a gateway computer, for example the computer 12 in FIG. 2.
In each of the examples described with reference to FIGS. 1 and 2 herein, a sound pressure wave signal is converted to an electronic data signal by a microphone, which is then digitized and packetized, and transmitted over the physical communications links, for example the ethernet cable and the cables connecting intermit sites, the transmission between computers being made in accordance with one or more protocols.
For communication across an intermit or the global Internet, messages are transferred over a number of communications links between a number of computers. Communication between a sender computer and a receiving computer is made in accordance with a point-to-point protocol (PPP) and each computer may support a range of such protocols. Referring to FIG. 3 herein an individual voice packet signal 30 containing voice data, and produced by an application program which converts a voice signal to a plurality of signal packets, is provided with a first header signal 31 by a first protocol. The first header signal contains information in the form of bytes of data added to the packet signal 30. For example where the first header signal is added to the packet signal in accordance with the sequence to packet exchange (SPX) protocol, packet sequencing information may be included in the header signal to ensure that the packet signals arrive in order, and a handshaking protocol is included, to ensure that as packets are received by the receiving computer the receiving computer acknowledges receipt of the packet signals.
Whilst some protocols, such as the SPX protocol are reliable for sending packet signals over an LAN, other protocols are less reliable. For example the Internet packet exchange (IPX) protocol sends packet signals over a network independently of each other. In FIG. 3 herein the IPX protocol takes the first header signal 31 and the packet signal 30 and treats this as a composite packet signal 32, to which is added an IPX protocol header signal 33.
The IPX protocol makes a xe2x80x9cbest effortxe2x80x9d to deliver the packet signal to the address specified in the header signal 33, but it cannot guarantee delivery because it does not include error detection or correction. The IPX protocol defines a hierarchical address structure that, within reason, is independent of the underlying physical network. This independent structure allows packet signals to be routed between networks and passed over dissimilar physical networks. However, the IPX protocol relies upon the underlying network, or other layers of protocol to provide reliable delivery. Where packet signals are sent over an incompatible network, the packet signals are encapsulated in header signals that are compatible with the network, in accordance with a protocol which is compatible with the particular section of network which is to be traversed. For example an IPX headed packet can be encapsulated in a user datagram protocol (UDP) header and then in an Internet protocol (IP) header in order to tunnel the IPX packet through a transmission control protocol Internet protocol (TCP IP) network.
In a TCP IP network, the Internet protocol defines a datagram ie the basic unit of information signal transmitted over the TCP IP network, and defines the addressing used by TCP IP, thereby routing the packet signals. The user datagram protocol (UDP) is the TCP IP transport protocol used for packet delivery. The UDP does not have the overhead of creating connections and verifying delivery.
Referring to FIG. 4 herein, as another example of encapsulation of packet signals by protocol headers, the SPX and IPX protocols can be replaced by a single NetWare protocol header signal. A packet signal 40 having a NetWare header signal 41 may be encapsulated by the UDP and IP protocol headers signals 42, 43 respectively for transmission over the global Internet. By encapsulating packets of signals and sending them over the Internet, Internet phones can communicate with each other.
Prior art Internet phones operate on the basis that the sending computer must know the address of the receiving computer so that the sender knows where to address the packet signals to, and the receiving computer must know the address of the sending computer in order to send packet signals to the sender. Communication between individual computers is point-to-point, in that a single computer sends and receives packet signals to another single computer. The received packet signals are re-assembled into voice signals by the processors.
In contrast to the packet signal environment of Internet phones, a conventional telephone communications system operates by creating channels over which electronic signals representing either voice or other data can be sent. The use of communications channels allows great flexibility of services, allowing features such as call diversion, (allowing a call to be automatically diverted to another location), and call conferencing, (allowing communication between three or more telephones). Examples of handling of conference calls by a conventional private branch exchange (PBX) call centre connected to a public service telephone network (PSTN) are illustrated with reference to FIG. 5 herein.
In FIG. 5, a private branch exchange call centre 50 connects a plurality of individual telephones 101, 102, 103 and 104. Other telephones 201, 202 and 203 which are not connected to the PBX can be accessed through the public service telephone network (PSTN) 55 the PBX call centre. Interactions between telephones are handled by the conventional PBX by connection of channels. For example, in a first service interaction problem, where a first telephone 101 connected to the PBX builds a conference with second and third telephones 201, 202 respectively each connected to the PSTN, the first telephone 101 calls the second telephone 201, thereby opening a first channel between the first telephone 101 and the second telephone 201, the first telephone 101 calls the third telephone 202, thereby opening a second channel between the first telephone 101 and the third telephone 202. Then the first and second channels are connected by forming a bridge in the PBX call centre, between the second and third telephones, which are off the PBX, in the PSTN. Where the first telephone user wishes to exit the conference, the user of the first telephone can clear the first telephone from the conference and communication between the second telephone 201 and the third telephone 202 resumes via an end-to-end call across the PBX. Thus, two telephones which are in the PSTN are connected together via a link in the PBX, whilst none of the telephones associated with the PBX are participating in the call. This is an inefficient use of resources from the point of view of the PBX.
Alternatively, the first telephone 101 may exit the conference by transferring the call to another telephone. This can be done by a consultation call transfer. That is, if the PBX has an active call from for example the second telephone 201 through a first channel, and a held call from for example the third telephone 202 through a second channel, the first telephone 101 can join the active call with the held call and then drop out of the conference itself.
In order to connect the second telephone 201 with the third telephone 203, there must be a bridge within the PBX linking the first and second channels. There are now three telephones which are off the PBX. First telephone 101 has dropped out, second telephone 201 is part of the PSTN, and third telephone 203 is also part of the PSTN. This is a waste of the PBX resources since the PBX is used to connect two telephones which are off the PBX. Alternatively, a user of the first telephone 101 can perform a single step transfer to exit the conference. This occurs where the first telephone 101 has an active call with the second telephone 201 over a first channel, and the first telephone 101 calls the third telephone 203 over a second channel, which starts to ring. At that point, the first telephone drops out, and the second telephone hears a ringing tone. The single step transfer is also inefficient, because two of the parties in the conference, the user of the first telephone 101 and the user of the second telephone 201, each hear a ringing tone, when they should be talking to each other.
Another example of a service interaction carried out by a conventional channel connecting PBX is as follows. A telephone 104 connected to the PBX calls another telephone 103 also connected to the PBX. The other telephone 103 does not answer, but other telephone 103 has a xe2x80x9cdivert on no answerxe2x80x9d function set directing the call to a third telephone 102, also on the PBX, so the call diverts to the third phone 102, using up a bridge in the PBX.
In a third example of a service interaction, first telephone 102 and second telephone 103 are connected to the PBX. First telephone 102 calls second telephone 103, but second telephone 103 is engaged with an active call. Since first telephone 102 has a xe2x80x9ccall waitingxe2x80x9d facility, first telephone 102 waits for second telephone 103 to become available. If second telephone 103 has a xe2x80x9cdivert on no answerxe2x80x9d function, there is a problem in determining whether first telephone 102 is diverted to another telephone from second telephone 103. A problem is whether the xe2x80x9cdivert on no answerxe2x80x9d function causes the xe2x80x9ccall waitingxe2x80x9d function to be affected. In some manufacturers"" telephones, the xe2x80x9ccall waitingxe2x80x9d function is affected by the xe2x80x9cdivert on no answerxe2x80x9d, whereas in other manufacturers"" telephones, the xe2x80x9ccall waitingxe2x80x9d function is not affected. Thus, two telephones connected to a PBX can appear to behave differently to each other, depending upon the model and manufacturer of the telephone.
The above conferencing examples rely upon the method of switching and connecting channels using the conventional PBX. Since conventional Internet telephones operate on a point-to-point basis, in a packet sending Internet telephone environment there is a problem in implementing call conferencing as found on the conventional channel switching network. Internet telephones rely upon point-to-point communication, whereas the conventional PBX relies upon channel switching and channel connection. In the Internet telephone environment, no channels which exist for the duration of the call are created between telephones, whereas in the conventional PBX environment, dedicated channels are connected between different telephones which exist for the duration of the call. There is a problem in implementing standard telephone network facilities in an Internet telephone environment due to the difference between the packet signal sending environment and the channel switching environment.
An example of a particular problem in connecting Internet telephones, as compared with connection via a PBX channel switching environment is as follows. Referring to FIG. 6 herein, four telephones 60, 61, 62, 63 are connected to each other in conference via a bridge 64. The bridge 64 is a piece of hardware comprising the PBX, to which all the telephones involved in the conference connect to via a single connection point. Bridges are effective in connecting telephones, for example four telephones can be connected together in a conference by a single bridge 64, as shown in FIG. 6. Bridges reduce the number of connections which need to be made in a conference, which in turn reduces the amount of bandwidth required in sending electronic voice signals around the conference. To implement a similar system using conventional Internet telephones, as shown in FIG. 7 herein is more complicated. Because the Internet telephones operate on a point-to-point basis, there needs to be a bi-directional link between each telephone and every other telephone in the conference. Where only two telephones are present, there needs to be a single link. Where three telephones are present, there need to be three links. Where four telephones are included in the conference, there are required six bi-directional links, and where five telephones are included in the conference, there are required ten bi-directional links. The number of links required increases disproportionally with the number of telephones in the conference.
The number of point-to-point connections required to implement a conference on conventional Internet telephones quickly increases as the number of Internet telephones in the conference rises. If a conference were to be built between Internet phones in implementing the conference each Internet telephone needs to know the address of each other Internet telephone in the conference, leading to a high complexity of addressing information processing required at each individual Internet phone.
According to a first aspect of the present invention, there is provided, in a network of processing device arranged to communicate by means of packets having an addressing header and a data portion, a method of implementing audio telephony, comprising steps of sending a signalling packet from a source processing device to a central location identifying a destination processing device; sending a signalling packet from said central location to said destination processing device identifying said source processing device; sending a packet from said central location to said source processing device identifying an address or said destination processing device; and transmitting packets containing digitized audio signals over said network directly between said source processing device and said destination processing device.
In a preferred embodiment, a packet from the source processing device is sent to the central location identifying a telephone off-hook condition. In response to receiving the off-hook condition, a central location may supply a dial tone alert to the source in response to receiving the off-hook condition. Preferably, the source processing device requests dial tone in response to receiving the dial tone alert.
According to a second aspect of the present invention, there is provided a central switching processor networked to a plurality of user processing devices arranged to communicate by audio telephony, comprising means for receiving a signalling packet from a source processing device identifying a destination processing device; means for sending a signalling packet to said identified destination processing device identifying said source processing device; and means for sending a packet to said source processing device identifying an address for said destination processing device, so that said source processing device may communicate directly with said destination processing device.
In a preferred embodiment, said processor includes means for supplying a dial tone alert packet to a source processor in response to receiving an indication of a telephony off-hook condition from said source processor. Preferably, the central switching processor includes means for sending a ringing alert signal to a destination processing device identifying a condition to the effect that said source processing device is attempting to establish a call to said destination processing device.
According to a third aspect of the present invention, there is provided a central switching processor networked to a plurality of user processing devices arranged to communicate by audio telephony, comprising means for receiving a signalling packet from a source processing device identifying a first destination processing device; means for sending a signalling packet to said identified destination processing device identifying said source processing device; means for receiving a second signalling packet identifying a second destination processing device; and means for establishing a conference communication wherein packets received from any of a plurality of processing devices are relayed to all other processing devices established within said conference.
Preferably, the central switching processor includes means for supplying a dial tone alert packet to said source processor in response to receiving an off-hook condition.
According to a fourth aspect of the present invention, there is provided a networked processing device arranged to communicate by means of packets having an addressing header and a data portion, including means for establishing audio telephony over said network, said processing device comprising means for sending a signalling packet to a central location identifying a telephony off-hook; means for receiving a dial tone alert packet in response to said off-hook condition; means for requesting an audible dial tone in response to said dial toner alert; and means for identifying a destination processing device to said central location.